package com.opensky.module.sys.interfaces.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 菜单表(表sys_menu)数据视图对象
 *
 * @author 中国印
 * @date 2021-11-27 21:40:33
 */
@ApiModel("表(sys_menu)实体类VO")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SysMenuVO {

    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")
    private String id;

    /**
     * 父菜单ID，一级菜单为0
     */
    @ApiModelProperty("父菜单ID，一级菜单为0")
    private Long parentId;

    /**
     * 名称
     */
    @ApiModelProperty("名称")
    private String name;

    /**
     * 菜单URL
     */
    @ApiModelProperty("菜单URL")
    private String url;

    /**
     * 菜单类型 0.目录 1.菜单 2.按钮 3.导航菜单
     */
    @ApiModelProperty("菜单类型 0.目录 1.菜单 2.按钮 3.导航菜单")
    private Integer type;

    /**
     * 菜单图标
     */
    @ApiModelProperty("菜单图标")
    private String icon;

    /**
     * 排序值，越小越靠前
     */
    @ApiModelProperty("排序值，越小越靠前")
    private Integer sort;

    /**
     * 状态 0.正常 1.禁用
     */
    @ApiModelProperty("状态 0.正常 1.禁用")
    private Integer status;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

}

